/** 组织列表 */
import { deptTreeSelect } from "@/api/system/user";
import { getDept } from "@/api/system/dept";
import getters from "../getters";
import { disposeDept } from "@/utils";
const project = {
  state: {
    deptTreeList: [],
    userDeptId: "",
    deptId: "",
    deptInfo: {}
  },

  mutations: {
    SET_DEPT_TREE: (state, deptList) => {
      state.deptTreeList = deptList;
    },
    SET_USER_DEPT_ID: (state, deptId) => {
      state.userDeptId = deptId;
    },
    SET_DEPT_ID: (state, deptId) => {
      state.deptId = deptId;
    },
    SET_DEPT_INFO: (state, data) => {
      state.deptInfo = data;
    }
  },

  actions: {
    // 获取用户组织信息
    getDeptTree({ commit, state }) {
      return new Promise((resolve, reject) => {
        deptTreeSelect()
          .then((res) => {
            const dataList = res.data;
            // this.deptTreeSelectList = this.handleTreeData(response.data);
            let deptId = "";
            let data = dataList;
            for (let index = 0; index < 5; index++) {
              if (data && Array.isArray(data) && data.length > 0) {
                data = disposeDept(data);
              } else {
                deptId = data;
                break;
              }
            }
            getDept(deptId).then((res) => {
              commit("SET_DEPT_INFO", res.data);
            });
            commit("SET_DEPT_ID", deptId);
            commit("SET_USER_DEPT_ID", deptId);
            commit("SET_DEPT_TREE", dataList);
            resolve(res);
          })
          .catch((error) => {
            reject(error);
          });

        // listProjectTree()
        //   .then((res) => {
        //     const dataList = res.data;
        //     if (dataList.length > 0) {
        //       let projectId = state.projectId;
        //       if (!state.projectId) {
        //         if (
        //           dataList[0] &&
        //           dataList[0].children &&
        //           dataList[0].children.length > 0 &&
        //           dataList[0].children[0] &&
        //           dataList[0].children[0].projectId
        //         ) {
        //           projectId = dataList[0].children[0].projectId;
        //         }
        //       }
        //       // const projectOptions = dataList.map((item) => {
        //       // const companyName = disposeCompany(item.ownerDeptId);
        //       //   return {
        //       //     value: item.projectId,
        //       //     label: item.projectName,
        //       //     ...item,
        //       //     companyName: companyName,
        //       //   };
        //       // });
        //       commit("SET_PROJECT_ID", projectId);
        //       commit("SET_PROJECT_TREE", dataList);
        //     }
        //     resolve(res);
        //   })
        //   .catch((error) => {
        //     reject(error);
        //   });
      });
    },
    // 修改选中组织
    changeDeptId({ commit }, deptId) {
      commit("SET_DEPT_ID", deptId);
      getDept(deptId).then((res) => {
        commit("SET_DEPT_INFO", res.data);
      });
    },
    // 获取组织信息
    getDeptInfo({ commit }, deptId) {
      getDept(deptId).then((res) => {
        commit("SET_DEPT_INFO", res.data);
      });
    }

    // disposeDept(list) {
    //   if (list[0] && list[0].labFlag == 1) {
    //     return list[0].children ? list[0].children : "";
    //   } else {
    //     return list[0].id;
    //   }
    // },
  }
};

export default project;
